// 单独封装在一个文件中，例如 utils/pageWrapper.js
if (!globalThis._pageWrapperInitialized) { // 用全局标记防止重复执行
  // 保存原生Page构造函数（只保存一次）
  const originalPage = Page;
  
  // 重写Page方法
  Page = function(config) {
    // 遍历配置中的方法，添加登录检查（仅对事件函数生效）
    Object.keys(config).forEach(key => {
      if (
        typeof config[key] === 'function' &&
        !['onLoad', 'onShow', 'onReady', 'onHide', 'onUnload', 'data'].includes(key)
      ) {
        const originalFn = config[key];
        config[key] = function(...args) {
          const isLogin = wx.getStorageSync('token') || '';
          if (!isLogin) {
            wx.navigateTo({ url: '/pages/login/login' });
            return;
          }
          originalFn.apply(this, args);
        };
      }
    });

    // 调用原生Page构造函数创建页面
    originalPage(config);
  };

  // 标记为已初始化，防止重复执行
  globalThis._pageWrapperInitialized = true;
}